package com.example.shysx11.service;

import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.example.shysx11.dao.SupervisorDao;   // 修改包名
import com.example.shysx11.pojo.Supervisor;     // 修改包名
import com.example.shysx11.vos.ResultVo;         // 修改包名
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.List;

@Service
public class SupervisorServiceImpl implements ISupervisorService {
    @Autowired
    private SupervisorDao dao;

    @Override
    public ResultVo getSupervisors() {
        List<Supervisor> list = dao.selectList(null);
        return ResultVo.success("查询成功", list);
    }

    @Override
    public ResultVo getOne(String telId, String password) {
        QueryWrapper<Supervisor> qw = new QueryWrapper<>();
        qw.eq("tel_id", telId)
                .eq("password", password); // 注意：实际项目需加密，此处为示例

        Supervisor supervisor = dao.selectOne(qw);
        if (supervisor == null) {
            return ResultVo.error("账号或密码错误");
        }
        supervisor.setPassword(null); // 隐藏密码返回
        return ResultVo.success("登录成功", supervisor);
    }

    @Override
    public ResultVo register(Supervisor supervisor) {
        // 检查手机号是否已注册
        QueryWrapper<Supervisor> qw = new QueryWrapper<>();
        qw.eq("tel_id", supervisor.getTelId());
        if (dao.selectCount(qw) > 0) {
            return ResultVo.error("手机号已注册");
        }

        // 示例：直接存储明文密码（生产环境需加密！）
        supervisor.setBirthday(null); // 处理非必填字段（若业务需要可保留）

        int result = dao.insert(supervisor);
        return result > 0 ?
                ResultVo.success("注册成功") :
                ResultVo.error("注册失败");
    }
}